package org.rasterfun.language2.num

import org.rasterfun.language2.bool.Bool
import org.rasterfun.language2.{BinaryOp, Context}

/**
 * 
 * 
 * @author Hans Haggstrom
 */
abstract class BinaryComparisonOp(operator : String, a : Num, b: Num) extends BinaryOp[Num](operator, a, b) with Bool

case class Greater        (a: Num, b: Num) extends BinaryComparisonOp(">" , a, b)
case class GreaterOrEqual (a: Num, b: Num) extends BinaryComparisonOp(">=", a, b)
case class Less           (a: Num, b: Num) extends BinaryComparisonOp("<" , a, b)
case class LessOrEqual    (a: Num, b: Num) extends BinaryComparisonOp("<=", a, b)
case class Equal          (a: Num, b: Num) extends BinaryComparisonOp("==", a, b)
case class NotEqual       (a: Num, b: Num) extends BinaryComparisonOp("!=", a, b)
